package learn_250211;

public class shell_sort {

    public static void main(String[] args) {
        int[] a = {2,1,3,5,4};
        sort(a);
        for(int i:a){
            System.out.print(i);
        }
    }


    public static void sort(int[] a ){
        int len = a.length;
        int gap = len/2;
//        这个地方容易出问题
        while(gap>=1){
            for(int i = gap;i<len;i++){
                int tmp = a[i];
                int j=i;
                while(j-gap>=0 && a[j-gap]>tmp){
                    a[j] = a[j-gap];
                    j = j-gap;
                }
//                这个地方容易出问题
                a[j] = tmp;
            }
            gap = gap/2;
        }

    }
}
